
#include <iosfwd>

// 手动前置声明 std::string 的完整实现==不成功--二义性

// namespace std {
//     // 声明依赖的模板
//     template<typename CharT> 
//     struct char_traits;
    
//     // 声明char_traits的特化
//     template<> struct char_traits<char>;
//     template<> struct char_traits<wchar_t>;
    
//     // 声明allocator
//     template<typename T> 
//     class allocator;
    
//     // 声明basic_string（核心）
//     template<typename CharT, 
//              typename Traits = char_traits<CharT>, 
//              typename Allocator = allocator<CharT>>
//     class basic_string;
    
//     // 定义string类型别名
//     using string = basic_string<char, char_traits<char>, allocator<char>>;
// }

void fun_test_fwd(const std::string & );
